feat: anonymous Kilo Code Gateway onboarding for new users#5415
feat: anonymous Kilo Code Gateway onboarding for new users#5415markijbema merged 9 commits intomainfrom
Conversation
🦋 Changeset detectedLatest commit: ba97f46 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
c94a5b5 to
0bbc541
Compare
| default: { | ||
| id: this.defaultConfigId, | ||
| apiProvider: "kilocode", | ||
| kilocodeModel: "google/gemma-2-9b-it:free", |
There was a problem hiding this comment.
trash (I saw this pop up while testing)
- Remove token requirement in kilocode-openrouter.ts fetchModel - Make auth header optional in getKilocodeDefaultModel.ts - Add kilocode to checkExistKey providers list - Add migration to initialize default kilocode profile for new users - Update ProviderSettingsManager tests for new migration behavior Apply suggestion from @chrarnoldus Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com> Add missing translations for loginForPremiumModels
remove line remove comment refactor: simplify anonymous kilocode onboarding to use default config instead of migration - Remove kilocodeDefaultProfileMigrated migration flag - Set apiProvider and kilocodeModel directly in defaultProviderProfiles - Add isNewUser flag to load() to distinguish new vs existing users - Remove initializeKilocodeDefaultProfile migration method - Simplify test fixtures by removing migration-related additions This approach minimizes changes for easier upstream merging.
bf01f27 to
0cc09dc
Compare
Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com>
6dc0c22 to
2e490fe
Compare
| try { | ||
| const path = organizationId ? `/organizations/${organizationId}/defaults` : `/defaults` | ||
| const url = getKiloUrlFromToken(`https://api.kilo.ai/api${path}`, kilocodeToken) | ||
| const url = getKiloUrlFromToken(`https://api.kilo.ai/api${path}`, kilocodeToken ?? "") |
There was a problem hiding this comment.
this will not work properly, but whatever
| ): Promise<Defaults> { | ||
| const key = JSON.stringify({ | ||
| kilocodeToken, | ||
| kilocodeToken: kilocodeToken ?? "anonymous", |
There was a problem hiding this comment.
| kilocodeToken: kilocodeToken ?? "anonymous", | |
| kilocodeToken, |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge OverviewThis PR implements anonymous Kilo Code onboarding, allowing new users to start using Kilo Code immediately without any configuration. A default Kilo Code Gateway profile with a free model ( Key Changes:
Implementation Quality:
Files Reviewed (10 files)
|
Code Review SummaryStatus: No Issues Found | Recommendation: Merge OverviewThis PR implements anonymous Kilo Code onboarding, enabling new users to start using Kilo Code immediately without any configuration. The implementation is clean and well-structured. Key Changes:
Implementation Quality:
Files Reviewed (28 files)
|
- Revert automatic kilocode profile creation for new users - Add 'Start with free models' button to welcome screen - Implement startWithFreeModels message handler - Update tests to reflect opt-in behavior - Users must explicitly click button to enable free models Reverts the auto-creation behavior from PR #5415 and adds explicit opt-in via button click instead.
Summary
This PR implements anonymous Kilo Code Gateway onboarding, allowing new users to start using Kilo Code immediately without any configuration.
Changes
1. Remove token requirement in KiloCode handler
File:
src/api/providers/kilocode-openrouter.tskilocodeTokenANDopenRouterBaseUrlto only requiringopenRouterBaseUrl2. Make auth header optional in default model fetching
File:
src/api/providers/kilocode/getKilocodeDefaultModel.ts3. Add kilocode to checkExistKey
File:
src/shared/checkExistApiConfig.ts"kilocode"to the list of providers that don't need additional configuration4. Add migration in ProviderSettingsManager
File:
src/core/config/ProviderSettingsManager.tskilocodeDefaultProfileMigratedto the migrations schemainit_runMigrations()initializeKilocodeDefaultProfile()that:apiProvider: "kilocode"and a free modelgoogle/gemma-2-9b-it:freeif API fetch failsTesting
ProviderSettingsManager.spec.tspassPlan Document
See
docs/plans/anonymous-kilocode-onboarding.mdfor the detailed implementation plan.